/*
 * @Author: 一盏青灯欲锁魂
 * @Date: 2021-06-15 16:32:50
 * @LastEditTime: 2021-06-24 08:55:43
 * @Description: 控制器
 * @FilePath: \nest_demo\src\module\index\index.controller.ts
 */
import { Controller, Param, Patch, ParseIntPipe } from '@nestjs/common';
import { PipeService } from './pipe.service';
import { CustomPipe } from '../../tools/pipe/custom.pipe';

/*
    * 1. 什么是通道？
    *      1. 可以理解是数据传输的路径
    *      2. 前端发出请求，后端通过数据传递的通道获取数据
    * 
    * 2. 通道可以干什么？
    *      1. 通道既然是前端数据传递的路径，那么我们可以在通道中提前对数据进行私有化处理，让后端拿到的数据是我们处理之后的数据
    * 
    * 3. 通道的定义方式？
    *      1. 调用Nest自身已经实现的通道类
    *      2. 通过实现PipeTransform类来自定义Pipe通道类
*/

@Controller('/pipe')
export class PipeController{
    constructor(private readonly pipeService:PipeService){}

    // 调用Nest自身已经实现的通道类
    // @Patch(':id')
    // getUrlData(@Param('id', new ParseIntPipe()) id){
    //     return this.pipeService.postData(id);
    // }

    // 自定义Pipe通道类
    @Patch(':id')
    getUrlData(@Param('id', new CustomPipe()) id){
        return this.pipeService.postData(id);
    }
}